home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio
/
Ham Radio CD-ROM (Emerald Software) (1995).ISO
/
mods
/
caty-767
/
y767.glo
< prev
next >
Wrap
Text File
|
1990-02-04
|
8KB
|
129 lines
(*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
(* Program: Y767.GLO - Global declarations (Part of CATY767.PAS) *)
(* Author: Donald J. Wilke, N3HGQ@KA3QAC *)
(* Start Date: July 12, 1989 *)
(* Last Update: February 4, 1990 *)
(* Purpose: Control program for Yaesu FT-767GX Transceiver. *)
(* Requires RS-232 interface between computer & FT-767GX. *)
(* Usage: Compile to .EXE file using Turbo Pascal and execute the *)
(* .EXE file by typing CATY767 at the DOS prompt. *)
(* Needs: Y767.GLO, Y767GLO.PAS, Y767UTIL.PAS, Y767DISP.PAS, *)
(* Y767RTC.PAS, Y767INST.PAS and Y767COMM.PAS. *)
(* Remarks: This program originally written in QuickBasic Version 4.5 *)
(* and translated for TURBO PASCAL Version 5.5 *)
(*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
CONST
(* Compile-time conditionals, set to match configuration *)
Credit : STRING[20]
= 'Vers. 1.0 by N3HGQ'; (* For evolutionary record *)
Test : BOOLEAN = FALSE; (* True if testing w/o comport *)
SetSel : BOOLEAN = TRUE; (* False to simulate KBD input *)
ToneEnc : BOOLEAN = FALSE; (* True if CTCSS board installed *)
Module6 : BOOLEAN = TRUE; (* True if 6M module installed *)
Module2 : BOOLEAN = TRUE; (* True if 2M module installed *)
Module70A : BOOLEAN = FALSE; (* True if 430-440 mod installed *)
Module70B : BOOLEAN = FALSE; (* True if 440-450 mod installed *)
Parity : INTEGER = $00; (* 0 = No parity *)
DataBits : INTEGER = $03; (* 3 = Use full 8 bits per character *)
StopBits : INTEGER = $04; (* 4 = Yaesu uses 2 stop bits *)
DLAB : INTEGER = $80; (* 8250 Divisor Latch Access Bit *)
DTR : INTEGER = $01; (* Value for Data Terminal Ready *)
RTS : INTEGER = $02; (* value for Ready To Send *)
OUT2 : INTEGER = $08; (* Bit that enables adapter ints *)
OCW1 : INTEGER = $21; (* 8259 Operation Control Word 1 *)
OCW2 : INTEGER = $20; (* 8259 Operation Control Word 2 *)
IRQT : INTEGER = $01; (* Mask to turn Timer ints on/off *)
TimerInt : INTEGER = $1C; (* Timer Control interrupt # *)
TimeZone : INTEGER = 5; (* Hours behind UTC *)
ClockFlag : BOOLEAN = TRUE; (* False disables clock during Comm *)
FreqErrorFlag: BOOLEAN = FALSE; (* Freq out of range flag *)
Nul : CHAR = CHR(0); (* Used to build null strings *)
TZ : STRING = ' EST ';(* Default Timezone *)
Divisor : WORD = 24; (* Value for 4800 baud operation *)
ScreenSeg : WORD = 0000; (* Storage for video memory addr *)
SaveCSeg : WORD = 0000; (* Storage for Code segment addr *)
ComBase : WORD = $2F8; (* Base address of COM ports *)
(* Define foreground, background colors, character attributes *)
DFG : INTEGER = 3; (* Default FG color - CYAN *)
DBG : INTEGER = 0; (* Default BG color - BLACK *)
PFG : INTEGER = 14; (* Parameter FG color - YELLOW *)
RFG : INTEGER = 2; (* Requested param FG color - GRN *)
SFG : INTEGER = 15; (* Status FG color - HI WHITE *)
EFG : INTEGER = 31; (* Error FG color - HI WHT + BLNK *)
EBG : INTEGER = 4; (* Error BG color - RED *)
SBA : INTEGER = 4; (* Border FG/BG attrib - RED/BLK *)
CLA : INTEGER = 31; (* Clock FG/BG attr - HI WHT/BLUE *)
FKA : INTEGER = 31; (* FKey line FG/BG attr - HI WHT/BLUE *)
COA : INTEGER = 79; (* CAT Off FG/BG att - HI WHT/RED *)
BFG : INTEGER = 0; (* Select bar FG color - BLK *)
BBG : INTEGER = 15; (* Select bar BG color - WHT *)
(* Define FT-767 Instructions & general purpose string constants *)
CatOn : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(0);
CatOff : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(1)+CHR(0);
Check : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(1);
Up10Hz : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(2);
Dn10Hz : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(3);
BandUp : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(6);
BandDn : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(7);
SplitTog : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($30)+CHR($A);
ClarTog : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($40)+CHR($A);
MtoV : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($50)+CHR($A);
VtoM : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($60)+CHR($A);
Swap : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($70)+CHR($A);
Aclr : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR($80)+CHR($A);
AckString : STRING[5] = CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR($B);
Nul3String : STRING[3] = CHR(0)+CHR(0)+CHR(0);
Title : STRING[44] = 'CATY Transceiver Control Program';
FreqErr : STRING[17] = ' Frequency error ';
CmdErr : STRING[17] = ' Command error ';
MemErr : STRING[17] = ' Memory error ';
TimerErr : STRING[40] = ' Restoring the normal Timer interrupt ';
TfileErr : STRING[26] = ' Cannot find UPDATE.DUM ';
(*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
TYPE
String5 = STRING[5]; (* Used for FT-767 Instructions, Echos *)
String86 = STRING[86]; (* To hold FT-767 Status Update stream *)
CircBuffer =
ARRAY[0..1024] OF Char; (* COMM serial input buffer *)
(*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)
VAR
Zero1 : BYTE; (* For initialization purposes *)
Clearit : BYTE; (* Dummy variable *)
TicCount : BYTE; (* Used to calc seconds for clock *)
CommChar : CHAR; (* Character from the COM_ port *)
Buffer : CircBuffer; (* Incoming serial character buffer *)
LastRead, (* Index of the last character read *)
LastSaved, (* Index of the last character stored *)
Index : INTEGER; (* General purpose counter variable *)
ComPort : INTEGER; (* Serial port - COM1: or COM2: *)
ComVec : INTEGER; (* Vector # for COM_: (IRQ_) *)
IRQM : INTEGER; (* Mask to turn IRQ_ ints on/off *)
CharsInBuf : INTEGER; (* No of chars in serial buffer *)
OldComVec : POINTER; (* Global storage for old COM Int vect *)
OldVector : POINTER; (* Holds old clock interrupt vector *)
CAT : BOOLEAN; (* CAT active/inactive flag *)
MR,Cl,Fk : BOOLEAN; (* Mem Recall, Clarif, Func key flags *)
DownFlag : BOOLEAN; (* Step Dn/Up flag *)
QuitFlag : BOOLEAN; (* Quit to DOS flag *)
Quit : BOOLEAN; (* Flag for exiting the program *)
Inst : String5; (* Global FT-767 Instruction code *)
Update : String86; (* Global FT-767 Update stream *)
UpdateFile : TEXT; (* Test file contains dummy Update *)
Y767MemDataFile : TEXT; (* Filename for memory data file *)
Y767VFODataFile : TEXT; (* Filename for VFO database file *)
Y767MemFileParams : STRING[76]; (* Length of MemFile record *)
Echo : ARRAY[1..5] OF CHAR; (* Global FT-767 Echo code *)
Lifo : ARRAY[1..86] OF CHAR; (* Global LIFO Update stream *)
Zero2 : BYTE; (* For initialization purposes *)
MemArray :
ARRAY[1..100] OF STRING[70]; (* For VFO datafile Memory array *)
(*▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ End of Globals ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓*)